每一秒钟的时间都值得铭记

0%

IDEA 插件 Alibaba Cloud Toolkit,一键部署前后端项目

Alibaba Cloud Toolkit

Alibaba Cloud Toolkit,顾名思义,这是一个由阿里开发的,用于快速部署云服务项目的 IDEA 插件工具。
使用该插件,可以在本地直接一键部署项目到云端服务器。

下载 IDEA 插件

File -> Settings -> Plugins

在插件的搜索栏输入 Alibaba Cloud Toolkit,下载、安装、重启 IDEA 即可。

在这里插入图片描述

配置云端服务器

这里的云端服务器,可以是真正的云端服务器,比如阿里云服务器,腾讯云服务器等等,也可以是自己本地上的虚拟机服务器。

在 IDEA 的侧边或者底部的标签上可以找到一个 Alibaba Cloud View 的标签,打开该标签即可。

在这里插入图片描述

在该标签栏中点击右上角的 Add Host 按钮,按照自己的配置信息进行配置即可。

在这里插入图片描述
配置完主机信息,就会在标签页面形成一条主机记录,点击记录的 Upload 按钮,配置上传文件的属性。

在这里插入图片描述

在这里插入图片描述
在后续的开发过程中,只要更新了新的 jar 包之后,直接使用 Upload 按钮,即可直接一键部署项目到云端服务器。
前端项目也是同样的步骤和原理。

到此为止,使用 Alibaba Cloud Toolkit 插件工具来一键部署项目就完成了,在文章末尾,附带前后端项目部署的 sh 脚本文件。

sh 脚本文件

后端项目部署脚本

  • spring-boot.sh
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    # 服务名称
    SERVICE_NAME=zero-admin
    # 项目路径
    SERVICE_DIR=/usr/web-project/zero-admin
    # 日志文件
    LOG_FILE=${SERVICE_DIR}/log.log
    # jar名称
    JAR_NAME=zero-web-1\.0-SNAPSHOT\.jar
    # 进程文件名称
    PID_FILE=${SERVICE_NAME}\.pid

    help(){
    echo "=== spring-boot shell help start ==="
    echo "start 启动服务"
    echo "stop 停止服务"
    echo "restart 重启服务"
    echo "=== spring-boot shell help end ==="
    }

    start(){
    if [ ! -x ${JAR_NAME} ]
    then
    echo "=== ${JAR_NAME}添加可执行权限 ==="
    chmod +x ${JAR_NAME}
    fi
    nohup java -Dfile.encoding=UTF-8 -jar ${JAR_NAME} --spring.profiles.active=prod >${LOG_FILE} 2>&1 &
    echo $! > ${SERVICE_DIR}/${PID_FILE}
    echo "=== 服务${SERVICE_NAME}已启动 ==="
    }

    stop(){
    P_ID=$(cat ${SERVICE_DIR}/${PID_FILE})
    if [ "${P_ID}" == "" ]
    then
    echo "=== 服务${SERVICE_NAME}不存在或者已停止 ==="
    else
    kill "${P_ID}"
    rm -rf ${SERVICE_DIR}/${PID_FILE}
    echo "=== 服务${SERVICE_NAME}已停止 ==="
    fi
    }

    restart(){
    stop
    sleep 2
    start
    echo "=== 服务${SERVICE_NAME}已重启 ==="
    }

    cd ${SERVICE_DIR}

    case ${1} in
    "")
    echo "=== 参数错误 ==="
    ;;
    help)
    help
    ;;
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    restart
    ;;
    *)
    help
    ;;
    esac

    exit 0

前端项目部署脚本

  • vue-app.sh
1
2
3
4
5
6
7
8
# VueApp的项目目录
VUE_APP_DIR=/usr/web-project/zero-admin/dist
# Docker 停止 nginx 服务
docker stop nginx
sleep 2
docker cp ${VUE_APP_DIR} nginx:${VIE_APP_DIR}
docker start nginx
exit 0
坚持原创技术分享,您的支持将鼓励我继续创作!
-------------这是我的底线^_^-------------